Control code for apparatus is now not changed after it leaves the factory or is changed completely without regard to any operator-input or unique-adjustment code. A prior network adapter sold by the assignee of this invention contains its control code in flash memory and that code is revised in total by simply changing the code in flash memory. U.S. Pat. No. 5,321,840 to Ahlin et al transmits revision code to special purpose personal computers from host to flash memory. Neither this patent nor the network adapter involves revising control data in non volatile memory (NVRAM) as does this invention.
Typically, flash memory is not used to revise control code. However, some computers may have their BIOS (basic import output system) in flash for its revision. Commonly, new control code is installed by installing new memory storing the new control code in the connections of the former memory. One time programmable memory (typically, EPROM's) is often used during the early period of a new apparatus rather than cheaper, fixed read only memory circuits since revision can be made in the code without scrapping any memory circuits. Apparatus which is in use may be modified by replacing the existing memory with such programmable memory.
No such revision addresses the preservations of earlier inputs specific to each apparatus. Such inputs are typically "fine tuning" information applied by skilled technicians in the factory or during maintenance, or inputs made by a skilled operator to satisfy the personal requirements and preferences of the operator. In the preferred embodiment of this application, such inputs are margin adjustments of the printer. Each printer, although within tolerances, has a slightly different overall operation. Accordingly, provision has been made in the control system to enter offset instructions to revise the margins from those which are nominally specified by the standard code. Thus, a factory technician will view actual printing and enter data specifying the amount of offset from what is seen. Each offset increment will be a small, predetermined amount and the amount of offset will typically be only a few of such units. However, the offset will differ for each printer because of the subtle differences between two nominally identical printers.
New control code entered into the printer may redefine other aspects of printing such that the nominal margin is no longer the same as that of the control code for which the earlier offset was specified. For example, new control code may change slightly the recognition of a signal defining the start of a laser sweep across a photoconductor during printing. In accordance with this invention, the previous "fine tuning" of the printer is preserved by retaining the offset as modified to conform in amount to the reference amounts in the new code. No previous such use of flash memory with modification of reference inputs is known.